package com.huitu.whht.base.core.api.wq.nmisp;

import com.huitu.api.rest.AbstractApiResource;
import com.huitu.commons.PageUtils;
import com.huitu.whht.api.core.common.response.ApiResultBuilder;
import com.huitu.whht.api.core.common.annotations.SzyCoreApiResource;
import com.huitu.whht.api.core.common.annotations.SzyCoreApiService;
import com.huitu.whht.api.core.common.response.StatusRespBuilder;
import com.huitu.whht.api.core.common.util.LocalDateTimeUtil;
import java.time.LocalDateTime;
import com.huitu.whht.base.core.api.wq.nmisp.entities.WqNmispD;
import com.huitu.whht.base.core.api.wq.nmisp.entities.WqNmispDKey;
import com.huitu.whht.base.core.api.wq.nmisp.entities.WqNmispDQo;
import com.huitu.whht.base.core.api.wq.nmisp.service.IWqNmispDService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;

import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

/**
 * 说明: 测站非金属无机物项目数据表API,表名称: WQ_NMISP_D <br/>
 * 日期: 2019-04-11
 * @author LiuCW
 */
@Component
@SzyCoreApiResource
@Path("wq/nmisp/d")
public class WqNmispDResource extends AbstractApiResource {

    private static final Logger LOGGER = LoggerFactory.getLogger(WqNmispDResource.class);

    private static final String UUID = "0ea7ae71-54b6-41cc-bc18-edab8ada5fb7";

    @Override
    public String getUUID() {
        return UUID;
    }

    @Autowired
    @SzyCoreApiService
    IWqNmispDService wqNmispDService;

    /**
     * @api {get} wq/nmisp/d/{stcd:\\w{8}}/{spt}/{prpnm:\\w{1}}/{lynm:\\w{1}}/{wbtp:\\w{1}} [R][G]根据主键查询
     * @apiDescription [G]根据主键查询WQ_NMISP_D(测站非金属无机物项目数据表)数据
     * @apiName (generate)select by primary key
     * @apiGroup WQ_NMISP_D-测站非金属无机物项目数据表
     * @apiVersion 1.0.0
     * @apiSampleRequest wq/nmisp/d/61987292/2016-07-01 00:00:00/1/1/1
     * @apiParam   {String}         stcd               【必须】测站编码
     * @apiParam   {Date}           spt                【必须】采样时间
     * @apiParam   {String}         prpnm              【必须】垂线编号
     * @apiParam   {String}         lynm               【必须】层面编号
     * @apiParam   {String}         wbtp               【必须】水体类型
     * @apiSuccess {String}         stcd               测站编码
     * @apiSuccess {String}         prpnm              垂线编号
     * @apiSuccess {String}         lynm               层面编号
     * @apiSuccess {String}         wbtp               水体类型
     * @apiSuccess {Date}           spt                采样时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiSuccess {Double}         dox                溶解氧
     * @apiSuccess {Double}         codmn              高锰酸盐指数
     * @apiSuccess {Double}         codcr              化学需氧量
     * @apiSuccess {Double}         bod5               五日生化需氧量
     * @apiSuccess {Double}         so4                硫酸盐
     * @apiSuccess {Double}         tic                离子总量
     * @apiSuccess {Double}         tn                 总氮
     * @apiSuccess {Double}         nh3n               氨氮
     * @apiSuccess {Double}         nh3                非离子氨
     * @apiSuccess {Double}         no2                亚硝酸盐氮
     * @apiSuccess {Double}         no3                硝酸盐氮
     * @apiSuccess {Double}         kn                 凯氏氮
     * @apiSuccess {Double}         s2                 硫化物
     * @apiSuccess {Double}         cn                 氰化物
     * @apiSuccess {Double}         tcn                总氰化物
     * @apiSuccess {Double}         ep                 元素磷
     * @apiSuccess {Double}         tp                 总磷
     * @apiSuccess {Double}         yp                 黄磷
     * @apiSuccess {Double}         po4                溶解性磷酸盐
     * @apiSuccess {Double}         dtp                溶解性总磷
     * @apiSuccess {Double}         f                  氟化物
     * @apiSuccess {Double}         cl                 氯化物
     * @apiSuccess {Double}         fchl               游离余氯
     * @apiSuccess {Double}         achl               活性氯
     * @apiSuccess {Double}         tchl               总氯
     * @apiSuccess {Double}         i                  碘化物
     * @apiSuccess {Double}         si                 硅
     * @apiSuccess {Double}         b                  硼
     * @apiSuccess {String}         nt                 备注
     * @apiSuccess {String}         speRegData         特殊区域
     * @apiSuccess {Date}           ts                 时间戳(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiSuccess {Date}           testComTm          化验完成时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiSuccessExample 请求成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "stcd": "61987292",
     * "prpnm": "1",
     * "lynm": "1",
     * "wbtp": "1",
     * "spt": "2016-07-01 00:00:00.0",
     * "dox": 7.6,
     * "codmn": 2.6,
     * "codcr": null,
     * "bod5": 2,
     * "so4": null,
     * "tic": null,
     * "tn": null,
     * "nh3n": 0.56,
     * "nh3": null,
     * "no2": null,
     * "no3": null,
     * "kn": null,
     * "s2": null,
     * "cn": -0.002,
     * "tcn": null,
     * "ep": null,
     * "tp": 0.08,
     * "yp": null,
     * "po4": null,
     * "dtp": null,
     * "f": 0.81,
     * "cl": null,
     * "fchl": null,
     * "achl": null,
     * "tchl": null,
     * "i": null,
     * "si": null,
     * "b": null,
     * "nt": null,
     * "speRegData": "0",
     * "ts": "2016-08-03 10:58:22.0",
     * "testComTm": null
     *  }
     * }
     * @apiUse exceptions
     */
    @GET
    @Path("{stcd:\\w{8}}/{spt}/{prpnm:\\w{1}}/{lynm:\\w{1}}/{wbtp:\\w{1}}")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response selectByPrimaryKey(@PathParam("stcd") String stcd,@PathParam("spt") String spt,@PathParam("prpnm") String prpnm,@PathParam("lynm") String lynm,@PathParam("wbtp") String wbtp) {
        WqNmispDKey pk = new WqNmispDKey();
        pk.setStcd(stcd);
        LocalDateTime.parse(spt,LocalDateTimeUtil.DATE_TIME_FORMATTER_YMD_HMS);
        pk.setPrpnm(prpnm);
        pk.setLynm(lynm);
        pk.setWbtp(wbtp);
        LOGGER.info("根据主键查询 测站非金属无机物项目数据表,参数 pk:{}", pk);
        return Response.ok(ApiResultBuilder.create(this, wqNmispDService.selectByPrimaryKey(pk))).build();
    }

    /**
     * @api {post} wq/nmisp/d/list [R][G]根据条件查询
     * @apiDescription [G]根据条件查询WQ_NMISP_D(测站非金属无机物项目数据表)数据
     * @apiName (generate)select by filter
     * @apiGroup WQ_NMISP_D-测站非金属无机物项目数据表
     * @apiVersion 1.0.0
     * @apiSampleRequest wq/nmisp/d/list
     * @apiParam   {String}         stcd               测站编码
     * @apiParam   {List(String)}   prpnmList          (数组)垂线编号
     * @apiParam   {List(String)}   lynmList           (数组)层面编号
     * @apiParam   {List(String)}   wbtpList           (数组)水体类型
     * @apiParam   {Date}           sptBgTm            (开始时间)采样时间
     * @apiParam   {Date}           sptEdTm            (结束时间)采样时间
     * @apiParam   {List(Double)}   doxList            (数组)溶解氧
     * @apiParam   {Double}         codmnMin           (最小)高锰酸盐指数
     * @apiParam   {Double}         codmnMax           (最大)高锰酸盐指数
     * @apiParam   {Double}         codcrMin           (最小)化学需氧量
     * @apiParam   {Double}         codcrMax           (最大)化学需氧量
     * @apiParam   {Double}         bod5Min            (最小)五日生化需氧量
     * @apiParam   {Double}         bod5Max            (最大)五日生化需氧量
     * @apiParam   {Double}         so4Min             (最小)硫酸盐
     * @apiParam   {Double}         so4Max             (最大)硫酸盐
     * @apiParam   {Double}         ticMin             (最小)离子总量
     * @apiParam   {Double}         ticMax             (最大)离子总量
     * @apiParam   {Double}         tnMin              (最小)总氮
     * @apiParam   {Double}         tnMax              (最大)总氮
     * @apiParam   {Double}         nh3nMin            (最小)氨氮
     * @apiParam   {Double}         nh3nMax            (最大)氨氮
     * @apiParam   {List(Double)}   nh3List            (数组)非离子氨
     * @apiParam   {Double}         no2Min             (最小)亚硝酸盐氮
     * @apiParam   {Double}         no2Max             (最大)亚硝酸盐氮
     * @apiParam   {Double}         no3Min             (最小)硝酸盐氮
     * @apiParam   {Double}         no3Max             (最大)硝酸盐氮
     * @apiParam   {List(Double)}   knList             (数组)凯氏氮
     * @apiParam   {Double}         s2Min              (最小)硫化物
     * @apiParam   {Double}         s2Max              (最大)硫化物
     * @apiParam   {Double}         cnMin              (最小)氰化物
     * @apiParam   {Double}         cnMax              (最大)氰化物
     * @apiParam   {Double}         tcnMin             (最小)总氰化物
     * @apiParam   {Double}         tcnMax             (最大)总氰化物
     * @apiParam   {Double}         epMin              (最小)元素磷
     * @apiParam   {Double}         epMax              (最大)元素磷
     * @apiParam   {Double}         tpMin              (最小)总磷
     * @apiParam   {Double}         tpMax              (最大)总磷
     * @apiParam   {Double}         ypMin              (最小)黄磷
     * @apiParam   {Double}         ypMax              (最大)黄磷
     * @apiParam   {Double}         po4Min             (最小)溶解性磷酸盐
     * @apiParam   {Double}         po4Max             (最大)溶解性磷酸盐
     * @apiParam   {Double}         dtpMin             (最小)溶解性总磷
     * @apiParam   {Double}         dtpMax             (最大)溶解性总磷
     * @apiParam   {Double}         fMin               (最小)氟化物
     * @apiParam   {Double}         fMax               (最大)氟化物
     * @apiParam   {Double}         clMin              (最小)氯化物
     * @apiParam   {Double}         clMax              (最大)氯化物
     * @apiParam   {Double}         fchlMin            (最小)游离余氯
     * @apiParam   {Double}         fchlMax            (最大)游离余氯
     * @apiParam   {Double}         achlMin            (最小)活性氯
     * @apiParam   {Double}         achlMax            (最大)活性氯
     * @apiParam   {Double}         tchlMin            (最小)总氯
     * @apiParam   {Double}         tchlMax            (最大)总氯
     * @apiParam   {Double}         iMin               (最小)碘化物
     * @apiParam   {Double}         iMax               (最大)碘化物
     * @apiParam   {Double}         siMin              (最小)硅
     * @apiParam   {Double}         siMax              (最大)硅
     * @apiParam   {List(Double)}   bList              (数组)硼
     * @apiParam   {String}         nt                 备注
     * @apiParam   {List(String)}   speRegDataList     (数组)特殊区域
     * @apiParam   {Date}           tsBgTm             (开始时间)时间戳
     * @apiParam   {Date}           tsEdTm             (结束时间)时间戳
     * @apiParam   {Date}           testComTmBgTm      (开始时间)化验完成时间
     * @apiParam   {Date}           testComTmEdTm      (结束时间)化验完成时间
     * @apiSuccess {String}         stcd               测站编码
     * @apiSuccess {String}         prpnm              垂线编号
     * @apiSuccess {String}         lynm               层面编号
     * @apiSuccess {String}         wbtp               水体类型
     * @apiSuccess {Date}           spt                采样时间
     * @apiSuccess {Double}         dox                溶解氧
     * @apiSuccess {Double}         codmn              高锰酸盐指数
     * @apiSuccess {Double}         codcr              化学需氧量
     * @apiSuccess {Double}         bod5               五日生化需氧量
     * @apiSuccess {Double}         so4                硫酸盐
     * @apiSuccess {Double}         tic                离子总量
     * @apiSuccess {Double}         tn                 总氮
     * @apiSuccess {Double}         nh3n               氨氮
     * @apiSuccess {Double}         nh3                非离子氨
     * @apiSuccess {Double}         no2                亚硝酸盐氮
     * @apiSuccess {Double}         no3                硝酸盐氮
     * @apiSuccess {Double}         kn                 凯氏氮
     * @apiSuccess {Double}         s2                 硫化物
     * @apiSuccess {Double}         cn                 氰化物
     * @apiSuccess {Double}         tcn                总氰化物
     * @apiSuccess {Double}         ep                 元素磷
     * @apiSuccess {Double}         tp                 总磷
     * @apiSuccess {Double}         yp                 黄磷
     * @apiSuccess {Double}         po4                溶解性磷酸盐
     * @apiSuccess {Double}         dtp                溶解性总磷
     * @apiSuccess {Double}         f                  氟化物
     * @apiSuccess {Double}         cl                 氯化物
     * @apiSuccess {Double}         fchl               游离余氯
     * @apiSuccess {Double}         achl               活性氯
     * @apiSuccess {Double}         tchl               总氯
     * @apiSuccess {Double}         i                  碘化物
     * @apiSuccess {Double}         si                 硅
     * @apiSuccess {Double}         b                  硼
     * @apiSuccess {String}         nt                 备注
     * @apiSuccess {String}         speRegData         特殊区域
     * @apiSuccess {Date}           ts                 时间戳
     * @apiSuccess {Date}           testComTm          化验完成时间
     * @apiSuccessExample 请求成功:
     * HTTP/1.1 200 OK
     * {
     * "result": [{
     * "stcd": "61987292",
     * "prpnm": "1",
     * "lynm": "1",
     * "wbtp": "1",
     * "spt": "2016-07-01 00:00:00.0",
     * "dox": 7.6,
     * "codmn": 2.6,
     * "codcr": null,
     * "bod5": 2,
     * "so4": null,
     * "tic": null,
     * "tn": null,
     * "nh3n": 0.56,
     * "nh3": null,
     * "no2": null,
     * "no3": null,
     * "kn": null,
     * "s2": null,
     * "cn": -0.002,
     * "tcn": null,
     * "ep": null,
     * "tp": 0.08,
     * "yp": null,
     * "po4": null,
     * "dtp": null,
     * "f": 0.81,
     * "cl": null,
     * "fchl": null,
     * "achl": null,
     * "tchl": null,
     * "i": null,
     * "si": null,
     * "b": null,
     * "nt": null,
     * "speRegData": "0",
     * "ts": "2016-08-03 10:58:22.0",
     * "testComTm": null
     *  }]
     * }
     *
     * @apiSuccessExample 分页请求:
     * request header: Rang={max=50;size=50;field=TS DESC}
     * HTTP/1.1 200 OK
     * {
     * "result": [{
     * "stcd": "61987292",
     * "prpnm": "1",
     * "lynm": "1",
     * "wbtp": "1",
     * "spt": "2016-07-01 00:00:00.0",
     * "dox": 7.6,
     * "codmn": 2.6,
     * "codcr": null,
     * "bod5": 2,
     * "so4": null,
     * "tic": null,
     * "tn": null,
     * "nh3n": 0.56,
     * "nh3": null,
     * "no2": null,
     * "no3": null,
     * "kn": null,
     * "s2": null,
     * "cn": -0.002,
     * "tcn": null,
     * "ep": null,
     * "tp": 0.08,
     * "yp": null,
     * "po4": null,
     * "dtp": null,
     * "f": 0.81,
     * "cl": null,
     * "fchl": null,
     * "achl": null,
     * "tchl": null,
     * "i": null,
     * "si": null,
     * "b": null,
     * "nt": null,
     * "speRegData": "0",
     * "ts": "2016-08-03 10:58:22.0",
     * "testComTm": null
     *  }],
     * "paging": {
     * "count": 3,
     * "total": 120,
     * "finale": false,
     * "index": 1
     * }
     * }
     * @apiUse header_rang
     * @apiUse exceptions
     */
    @POST
    @Path("list")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response selectList(WqNmispDQo filter) {
        PageUtils.startPageFromRang();
        LOGGER.info("根据条件查询 测站非金属无机物项目数据表,参数 WqNmispDQo:{}", filter);
        return Response.ok(ApiResultBuilder.create(this, wqNmispDService.selectList(filter))).build();
    }

    /**
     * @api {put} wq/nmisp/d [C][G]新增数据
     * @apiPrivate
     * @apiDescription [G]新增WQ_NMISP_D(测站非金属无机物项目数据表)数据
     * @apiName (generate)add data
     * @apiGroup WQ_NMISP_D-测站非金属无机物项目数据表
     * @apiVersion 1.0.0
     * @apiParam   {String}         stcd               【必须】测站编码
     * @apiParam   {String}         prpnm              【必须】垂线编号
     * @apiParam   {String}         lynm               【必须】层面编号
     * @apiParam   {String}         wbtp               【必须】水体类型
     * @apiParam   {Date}           spt                【必须】采样时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiParam   {Double}         dox                溶解氧
     * @apiParam   {Double}         codmn              高锰酸盐指数
     * @apiParam   {Double}         codcr              化学需氧量
     * @apiParam   {Double}         bod5               五日生化需氧量
     * @apiParam   {Double}         so4                硫酸盐
     * @apiParam   {Double}         tic                离子总量
     * @apiParam   {Double}         tn                 总氮
     * @apiParam   {Double}         nh3n               氨氮
     * @apiParam   {Double}         nh3                非离子氨
     * @apiParam   {Double}         no2                亚硝酸盐氮
     * @apiParam   {Double}         no3                硝酸盐氮
     * @apiParam   {Double}         kn                 凯氏氮
     * @apiParam   {Double}         s2                 硫化物
     * @apiParam   {Double}         cn                 氰化物
     * @apiParam   {Double}         tcn                总氰化物
     * @apiParam   {Double}         ep                 元素磷
     * @apiParam   {Double}         tp                 总磷
     * @apiParam   {Double}         yp                 黄磷
     * @apiParam   {Double}         po4                溶解性磷酸盐
     * @apiParam   {Double}         dtp                溶解性总磷
     * @apiParam   {Double}         f                  氟化物
     * @apiParam   {Double}         cl                 氯化物
     * @apiParam   {Double}         fchl               游离余氯
     * @apiParam   {Double}         achl               活性氯
     * @apiParam   {Double}         tchl               总氯
     * @apiParam   {Double}         i                  碘化物
     * @apiParam   {Double}         si                 硅
     * @apiParam   {Double}         b                  硼
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {Date}           ts                 时间戳(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiParam   {Date}           testComTm          化验完成时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiSuccess {Integer}        status             1:新增成功;0:新增失败.
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据,通常包含新增数据的主键值
     * @apiSampleRequest wq/nmisp/d
     * @apiSuccessExample 新增成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":{
     *   "stcd": "61987292",
     *   "spt": "2016-07-01 00:00:00.0",
     *   "prpnm": "1",
     *   "lynm": "1",
     *   "wbtp": "1"
     *      }
     *   }
     * }
     @apiSuccessExample 新增失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":{
     *   "stcd": "61987292",
     *   "spt": "2016-07-01 00:00:00.0",
     *   "prpnm": "1",
     *   "lynm": "1",
     *   "wbtp": "1"
     *      }
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * {
     * "stcd": "61987292",
     * "prpnm": "1",
     * "lynm": "1",
     * "wbtp": "1",
     * "spt": "2016-07-01 00:00:00.0",
     * "dox": 7.6,
     * "codmn": 2.6,
     * "codcr": null,
     * "bod5": 2,
     * "so4": null,
     * "tic": null,
     * "tn": null,
     * "nh3n": 0.56,
     * "nh3": null,
     * "no2": null,
     * "no3": null,
     * "kn": null,
     * "s2": null,
     * "cn": -0.002,
     * "tcn": null,
     * "ep": null,
     * "tp": 0.08,
     * "yp": null,
     * "po4": null,
     * "dtp": null,
     * "f": 0.81,
     * "cl": null,
     * "fchl": null,
     * "achl": null,
     * "tchl": null,
     * "i": null,
     * "si": null,
     * "b": null,
     * "nt": null,
     * "speRegData": "0",
     * "ts": "2016-08-03 10:58:22.0",
     * "testComTm": null
     * }
     * @apiUse exceptions
     */
    @PUT
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response insert(WqNmispD record) {
        LOGGER.info("新增 测站非金属无机物项目数据表,参数 WqNmispD:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.insert(wqNmispDService.insertSelective(record),record))).build();
    }

    /**
     * @api {post} wq/nmisp/d/insertBatch [C][G]批量新增数据
     * @apiPrivate
     * @apiDescription [G]批量新增WQ_NMISP_D(测站非金属无机物项目数据表)数据
     * @apiName (generate)addBatch data
     * @apiGroup WQ_NMISP_D-测站非金属无机物项目数据表
     * @apiVersion 1.0.0
     * @apiParam   {String}         stcd               【必须】测站编码
     * @apiParam   {String}         prpnm              【必须】垂线编号
     * @apiParam   {String}         lynm               【必须】层面编号
     * @apiParam   {String}         wbtp               【必须】水体类型
     * @apiParam   {Date}           spt                【必须】采样时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiParam   {Double}         dox                溶解氧
     * @apiParam   {Double}         codmn              高锰酸盐指数
     * @apiParam   {Double}         codcr              化学需氧量
     * @apiParam   {Double}         bod5               五日生化需氧量
     * @apiParam   {Double}         so4                硫酸盐
     * @apiParam   {Double}         tic                离子总量
     * @apiParam   {Double}         tn                 总氮
     * @apiParam   {Double}         nh3n               氨氮
     * @apiParam   {Double}         nh3                非离子氨
     * @apiParam   {Double}         no2                亚硝酸盐氮
     * @apiParam   {Double}         no3                硝酸盐氮
     * @apiParam   {Double}         kn                 凯氏氮
     * @apiParam   {Double}         s2                 硫化物
     * @apiParam   {Double}         cn                 氰化物
     * @apiParam   {Double}         tcn                总氰化物
     * @apiParam   {Double}         ep                 元素磷
     * @apiParam   {Double}         tp                 总磷
     * @apiParam   {Double}         yp                 黄磷
     * @apiParam   {Double}         po4                溶解性磷酸盐
     * @apiParam   {Double}         dtp                溶解性总磷
     * @apiParam   {Double}         f                  氟化物
     * @apiParam   {Double}         cl                 氯化物
     * @apiParam   {Double}         fchl               游离余氯
     * @apiParam   {Double}         achl               活性氯
     * @apiParam   {Double}         tchl               总氯
     * @apiParam   {Double}         i                  碘化物
     * @apiParam   {Double}         si                 硅
     * @apiParam   {Double}         b                  硼
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {Date}           ts                 时间戳(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiParam   {Date}           testComTm          化验完成时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiSuccess {Integer}        status             1:新增成功;0:新增失败.
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据,通常包含新增数据的主键值
     * @apiSampleRequest wq/nmisp/d/insertBatch
     * @apiSuccessExample 新增成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":{
     *   "stcd": "61987292",
     *   "spt": "2016-07-01 00:00:00.0",
     *   "prpnm": "1",
     *   "lynm": "1",
     *   "wbtp": "1"
     *      }
     *   }
     * }
     @apiSuccessExample 新增失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":{
     *   "stcd": "61987292",
     *   "spt": "2016-07-01 00:00:00.0",
     *   "prpnm": "1",
     *   "lynm": "1",
     *   "wbtp": "1"
     *      }
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * [{
     * "stcd": "61987292",
     * "prpnm": "1",
     * "lynm": "1",
     * "wbtp": "1",
     * "spt": "2016-07-01 00:00:00.0",
     * "dox": 7.6,
     * "codmn": 2.6,
     * "codcr": null,
     * "bod5": 2,
     * "so4": null,
     * "tic": null,
     * "tn": null,
     * "nh3n": 0.56,
     * "nh3": null,
     * "no2": null,
     * "no3": null,
     * "kn": null,
     * "s2": null,
     * "cn": -0.002,
     * "tcn": null,
     * "ep": null,
     * "tp": 0.08,
     * "yp": null,
     * "po4": null,
     * "dtp": null,
     * "f": 0.81,
     * "cl": null,
     * "fchl": null,
     * "achl": null,
     * "tchl": null,
     * "i": null,
     * "si": null,
     * "b": null,
     * "nt": null,
     * "speRegData": "0",
     * "ts": "2016-08-03 10:58:22.0",
     * "testComTm": null
     * }]
     * @apiUse exceptions
     */
    @POST
    @Path("insertBatch")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response insertBatch(List<WqNmispD> recordList) {
        LOGGER.info("批量新增 测站非金属无机物项目数据表,参数 WqNmispD:[]", recordList);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.insert(wqNmispDService.insertBatch(recordList),recordList))).build();
    }

    /**
     * @api {put} wq/nmisp/d/{stcd:\\w{8}}/{spt}/{prpnm:\\w{1}}/{lynm:\\w{1}}/{wbtp:\\w{1}}/update [U][G]根据主键修改
     * @apiPrivate
     * @apiDescription [G]根据主键修改WQ_NMISP_D(测站非金属无机物项目数据表)数据
     * @apiName (generate)update data
     * @apiGroup WQ_NMISP_D-测站非金属无机物项目数据表
     * @apiVersion 1.0.0
     * @apiParam   {String}         stcd               【必须】测站编码
     * @apiParam   {String}         prpnm              【必须】垂线编号
     * @apiParam   {String}         lynm               【必须】层面编号
     * @apiParam   {String}         wbtp               【必须】水体类型
     * @apiParam   {Date}           spt                【必须】采样时间
     * @apiParam   {Double}         dox                溶解氧
     * @apiParam   {Double}         codmn              高锰酸盐指数
     * @apiParam   {Double}         codcr              化学需氧量
     * @apiParam   {Double}         bod5               五日生化需氧量
     * @apiParam   {Double}         so4                硫酸盐
     * @apiParam   {Double}         tic                离子总量
     * @apiParam   {Double}         tn                 总氮
     * @apiParam   {Double}         nh3n               氨氮
     * @apiParam   {Double}         nh3                非离子氨
     * @apiParam   {Double}         no2                亚硝酸盐氮
     * @apiParam   {Double}         no3                硝酸盐氮
     * @apiParam   {Double}         kn                 凯氏氮
     * @apiParam   {Double}         s2                 硫化物
     * @apiParam   {Double}         cn                 氰化物
     * @apiParam   {Double}         tcn                总氰化物
     * @apiParam   {Double}         ep                 元素磷
     * @apiParam   {Double}         tp                 总磷
     * @apiParam   {Double}         yp                 黄磷
     * @apiParam   {Double}         po4                溶解性磷酸盐
     * @apiParam   {Double}         dtp                溶解性总磷
     * @apiParam   {Double}         f                  氟化物
     * @apiParam   {Double}         cl                 氯化物
     * @apiParam   {Double}         fchl               游离余氯
     * @apiParam   {Double}         achl               活性氯
     * @apiParam   {Double}         tchl               总氯
     * @apiParam   {Double}         i                  碘化物
     * @apiParam   {Double}         si                 硅
     * @apiParam   {Double}         b                  硼
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {Date}           ts                 【必须】时间戳
     * @apiParam   {Date}           testComTm          化验完成时间
     * @apiSuccess {Integer}        status             1:修改成功;0:要修改的数据不存在(可能已被删除)
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSampleRequest wq/nmisp/d/61987292/2016-07-01 00:00:00/1/1/1/update
     * @apiSuccessExample 修改成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 修改失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * {
     * "stcd": "61987292",
     * "prpnm": "1",
     * "lynm": "1",
     * "wbtp": "1",
     * "spt": "2016-07-01 00:00:00.0",
     * "dox": 7.6,
     * "codmn": 2.6,
     * "codcr": null,
     * "bod5": 2,
     * "so4": null,
     * "tic": null,
     * "tn": null,
     * "nh3n": 0.56,
     * "nh3": null,
     * "no2": null,
     * "no3": null,
     * "kn": null,
     * "s2": null,
     * "cn": -0.002,
     * "tcn": null,
     * "ep": null,
     * "tp": 0.08,
     * "yp": null,
     * "po4": null,
     * "dtp": null,
     * "f": 0.81,
     * "cl": null,
     * "fchl": null,
     * "achl": null,
     * "tchl": null,
     * "i": null,
     * "si": null,
     * "b": null,
     * "nt": null,
     * "speRegData": "0",
     * "ts": "2016-08-03 10:58:22.0",
     * "testComTm": null
     * }
     * @apiUse exceptions
     */
    @PUT
    @Path("{stcd:\\w{8}}/{spt}/{prpnm:\\w{1}}/{lynm:\\w{1}}/{wbtp:\\w{1}}/update")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response update(@PathParam("stcd") String stcd,@PathParam("spt") String spt,@PathParam("prpnm") String prpnm,@PathParam("lynm") String lynm,@PathParam("wbtp") String wbtp, WqNmispD record) {
        record.setStcd(stcd);
        LocalDateTime.parse(spt,LocalDateTimeUtil.DATE_TIME_FORMATTER_YMD_HMS);
        record.setPrpnm(prpnm);
        record.setLynm(lynm);
        record.setWbtp(wbtp);
        LOGGER.info("根据主键修改 测站非金属无机物项目数据表,参数 WqNmispD:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.update(wqNmispDService.updateByPrimaryKey(record)))).build();
    }

    /**
     * @api {put} wq/nmisp/d/{stcd:\\w{8}}/{spt}/{prpnm:\\w{1}}/{lynm:\\w{1}}/{wbtp:\\w{1}}/update-selective [U][G]根据主键修改(只修改非null字段)
     * @apiPrivate
     * @apiDescription [G]根据主键修改WQ_NMISP_D(测站非金属无机物项目数据表)数据,只修改非null字段
     * @apiName (generate)update selected data
     * @apiGroup WQ_NMISP_D-测站非金属无机物项目数据表
     * @apiVersion 1.0.0
     * @apiParam   {String}         stcd               测站编码
     * @apiParam   {String}         prpnm              垂线编号
     * @apiParam   {String}         lynm               层面编号
     * @apiParam   {String}         wbtp               水体类型
     * @apiParam   {Date}           spt                采样时间
     * @apiParam   {Double}         dox                溶解氧
     * @apiParam   {Double}         codmn              高锰酸盐指数
     * @apiParam   {Double}         codcr              化学需氧量
     * @apiParam   {Double}         bod5               五日生化需氧量
     * @apiParam   {Double}         so4                硫酸盐
     * @apiParam   {Double}         tic                离子总量
     * @apiParam   {Double}         tn                 总氮
     * @apiParam   {Double}         nh3n               氨氮
     * @apiParam   {Double}         nh3                非离子氨
     * @apiParam   {Double}         no2                亚硝酸盐氮
     * @apiParam   {Double}         no3                硝酸盐氮
     * @apiParam   {Double}         kn                 凯氏氮
     * @apiParam   {Double}         s2                 硫化物
     * @apiParam   {Double}         cn                 氰化物
     * @apiParam   {Double}         tcn                总氰化物
     * @apiParam   {Double}         ep                 元素磷
     * @apiParam   {Double}         tp                 总磷
     * @apiParam   {Double}         yp                 黄磷
     * @apiParam   {Double}         po4                溶解性磷酸盐
     * @apiParam   {Double}         dtp                溶解性总磷
     * @apiParam   {Double}         f                  氟化物
     * @apiParam   {Double}         cl                 氯化物
     * @apiParam   {Double}         fchl               游离余氯
     * @apiParam   {Double}         achl               活性氯
     * @apiParam   {Double}         tchl               总氯
     * @apiParam   {Double}         i                  碘化物
     * @apiParam   {Double}         si                 硅
     * @apiParam   {Double}         b                  硼
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {Date}           ts                 时间戳
     * @apiParam   {Date}           testComTm          化验完成时间
     * @apiSuccess {Integer}        status             1:修改成功;0:要修改的数据不存在(可能已被删除)
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSampleRequest wq/nmisp/d/61987292/2016-07-01 00:00:00/1/1/1/update-selective
     * * @apiSuccessExample 修改成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 修改失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * {
     * "stcd": "61987292",
     * "prpnm": "1",
     * "lynm": "1",
     * "wbtp": "1",
     * "spt": "2016-07-01 00:00:00.0",
     * "dox": 7.6,
     * "codmn": 2.6,
     * "codcr": null,
     * "bod5": 2,
     * "so4": null,
     * "tic": null,
     * "tn": null,
     * "nh3n": 0.56,
     * "nh3": null,
     * "no2": null,
     * "no3": null,
     * "kn": null,
     * "s2": null,
     * "cn": -0.002,
     * "tcn": null,
     * "ep": null,
     * "tp": 0.08,
     * "yp": null,
     * "po4": null,
     * "dtp": null,
     * "f": 0.81,
     * "cl": null,
     * "fchl": null,
     * "achl": null,
     * "tchl": null,
     * "i": null,
     * "si": null,
     * "b": null,
     * "nt": null,
     * "speRegData": "0",
     * "ts": "2016-08-03 10:58:22.0",
     * "testComTm": null
     * }
     * @apiUse exceptions
     */
    @PUT
    @Path("{stcd:\\w{8}}/{spt}/{prpnm:\\w{1}}/{lynm:\\w{1}}/{wbtp:\\w{1}}/update-selective")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response updateSelective(@PathParam("stcd") String stcd,@PathParam("spt") String spt,@PathParam("prpnm") String prpnm,@PathParam("lynm") String lynm,@PathParam("wbtp") String wbtp, WqNmispD record) {
        record.setStcd(stcd);
        LocalDateTime.parse(spt,LocalDateTimeUtil.DATE_TIME_FORMATTER_YMD_HMS);
        record.setPrpnm(prpnm);
        record.setLynm(lynm);
        record.setWbtp(wbtp);
        LOGGER.info("根据主键修改(只修改非null字段) 测站非金属无机物项目数据表,参数 WqNmispD:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.update(wqNmispDService.updateByPrimaryKeySelective(record)))).build();
    }

    /**
     * @api {post} wq/nmisp/d/updateBatch [U][G]根据主键批量修改(只修改非null字段)
     * @apiPrivate
     * @apiDescription [G]根据批量主键修改WQ_NMISP_D(测站非金属无机物项目数据表)数据,只修改非null字段
     * @apiName (generate)updateBatch selected data
     * @apiGroup WQ_NMISP_D-测站非金属无机物项目数据表
     * @apiVersion 1.0.0
     * @apiParam   {String}         stcd               测站编码
     * @apiParam   {String}         prpnm              垂线编号
     * @apiParam   {String}         lynm               层面编号
     * @apiParam   {String}         wbtp               水体类型
     * @apiParam   {Date}           spt                采样时间
     * @apiParam   {Double}         dox                溶解氧
     * @apiParam   {Double}         codmn              高锰酸盐指数
     * @apiParam   {Double}         codcr              化学需氧量
     * @apiParam   {Double}         bod5               五日生化需氧量
     * @apiParam   {Double}         so4                硫酸盐
     * @apiParam   {Double}         tic                离子总量
     * @apiParam   {Double}         tn                 总氮
     * @apiParam   {Double}         nh3n               氨氮
     * @apiParam   {Double}         nh3                非离子氨
     * @apiParam   {Double}         no2                亚硝酸盐氮
     * @apiParam   {Double}         no3                硝酸盐氮
     * @apiParam   {Double}         kn                 凯氏氮
     * @apiParam   {Double}         s2                 硫化物
     * @apiParam   {Double}         cn                 氰化物
     * @apiParam   {Double}         tcn                总氰化物
     * @apiParam   {Double}         ep                 元素磷
     * @apiParam   {Double}         tp                 总磷
     * @apiParam   {Double}         yp                 黄磷
     * @apiParam   {Double}         po4                溶解性磷酸盐
     * @apiParam   {Double}         dtp                溶解性总磷
     * @apiParam   {Double}         f                  氟化物
     * @apiParam   {Double}         cl                 氯化物
     * @apiParam   {Double}         fchl               游离余氯
     * @apiParam   {Double}         achl               活性氯
     * @apiParam   {Double}         tchl               总氯
     * @apiParam   {Double}         i                  碘化物
     * @apiParam   {Double}         si                 硅
     * @apiParam   {Double}         b                  硼
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {Date}           ts                 时间戳
     * @apiParam   {Date}           testComTm          化验完成时间
     * @apiSuccess {Integer}        status             1:修改成功;0:要修改的数据不存在(可能已被删除)
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSampleRequest  wq/nmisp/d/updateBatch
     * * @apiSuccessExample 修改成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 修改失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * [{
     * "stcd": "61987292",
     * "prpnm": "1",
     * "lynm": "1",
     * "wbtp": "1",
     * "spt": "2016-07-01 00:00:00.0",
     * "dox": 7.6,
     * "codmn": 2.6,
     * "codcr": null,
     * "bod5": 2,
     * "so4": null,
     * "tic": null,
     * "tn": null,
     * "nh3n": 0.56,
     * "nh3": null,
     * "no2": null,
     * "no3": null,
     * "kn": null,
     * "s2": null,
     * "cn": -0.002,
     * "tcn": null,
     * "ep": null,
     * "tp": 0.08,
     * "yp": null,
     * "po4": null,
     * "dtp": null,
     * "f": 0.81,
     * "cl": null,
     * "fchl": null,
     * "achl": null,
     * "tchl": null,
     * "i": null,
     * "si": null,
     * "b": null,
     * "nt": null,
     * "speRegData": "0",
     * "ts": "2016-08-03 10:58:22.0",
     * "testComTm": null
     * }]
     * @apiUse exceptions
     */
    @POST
    @Path("updateBatch")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response updateBatch(List<WqNmispD> record) {
        LOGGER.info("根据主键批量修改(只修改非null字段) 测站非金属无机物项目数据表,参数 WqNmispD:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.update(wqNmispDService.updateBatch(record)))).build();
    }

    /**
     * @api {delete} wq/nmisp/d/{stcd:\\w{8}}/{spt}/{prpnm:\\w{1}}/{lynm:\\w{1}}/{wbtp:\\w{1}} [D][G]根据主键删除
     * @apiPrivate
     * @apiDescription [G]根据主键删除WQ_NMISP_D(测站非金属无机物项目数据表)数据
     * @apiName (generate)delete by primary key
     * @apiGroup WQ_NMISP_D-测站非金属无机物项目数据表
     * @apiVersion 1.0.0
     * @apiSampleRequest wq/nmisp/d/61987292/2016-07-01 00:00:00/1/1/1
     * @apiParam   {String}         stcd               【必须】测站编码
     * @apiParam   {Date}           spt                【必须】采样时间
     * @apiParam   {String}         prpnm              【必须】垂线编号
     * @apiParam   {String}         lynm               【必须】层面编号
     * @apiParam   {String}         wbtp               【必须】水体类型
     * @apiSuccess {Integer}        status             1:删除成功;0:要删除的数据不存在(可能已被删除).
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSuccessExample 删除成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 删除失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiUse exceptions
     */
    @DELETE
    @Path("{stcd:\\w{8}}/{spt}/{prpnm:\\w{1}}/{lynm:\\w{1}}/{wbtp:\\w{1}}")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response delete(@PathParam("stcd") String stcd,@PathParam("spt") String spt,@PathParam("prpnm") String prpnm,@PathParam("lynm") String lynm,@PathParam("wbtp") String wbtp) {
         WqNmispDKey pk = new WqNmispDKey();
        pk.setStcd(stcd);
        LocalDateTime.parse(spt,LocalDateTimeUtil.DATE_TIME_FORMATTER_YMD_HMS);
        pk.setPrpnm(prpnm);
        pk.setLynm(lynm);
        pk.setWbtp(wbtp);
        LOGGER.info("根据主键删除 测站非金属无机物项目数据表,参数 pk:{}", pk);
        Integer rows = wqNmispDService.deleteByPrimaryKey(pk);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.delete(rows))).build();
    }

    /**
     * @api {delete} wq/nmisp/d/by-filter [D][G]根据条件删除
     * @apiPrivate
     * @apiDescription [G]根据条件删除WQ_NMISP_D(测站非金属无机物项目数据表)数据
     * @apiName (generate)delete by filter
     * @apiGroup WQ_NMISP_D-测站非金属无机物项目数据表
     * @apiVersion 1.0.0
     * @apiSampleRequest wq/nmisp/d/by-filter
     * @apiParam   {String}         stcd               测站编码
     * @apiParam   {List(String)}   prpnmList          (数组)垂线编号
     * @apiParam   {List(String)}   lynmList           (数组)层面编号
     * @apiParam   {List(String)}   wbtpList           (数组)水体类型
     * @apiParam   {Date}           sptBgTm            (开始时间)采样时间
     * @apiParam   {Date}           sptEdTm            (结束时间)采样时间
     * @apiParam   {List(Double)}   doxList            (数组)溶解氧
     * @apiParam   {Double}         codmnMin           (最小)高锰酸盐指数
     * @apiParam   {Double}         codmnMax           (最大)高锰酸盐指数
     * @apiParam   {Double}         codcrMin           (最小)化学需氧量
     * @apiParam   {Double}         codcrMax           (最大)化学需氧量
     * @apiParam   {Double}         bod5Min            (最小)五日生化需氧量
     * @apiParam   {Double}         bod5Max            (最大)五日生化需氧量
     * @apiParam   {Double}         so4Min             (最小)硫酸盐
     * @apiParam   {Double}         so4Max             (最大)硫酸盐
     * @apiParam   {Double}         ticMin             (最小)离子总量
     * @apiParam   {Double}         ticMax             (最大)离子总量
     * @apiParam   {Double}         tnMin              (最小)总氮
     * @apiParam   {Double}         tnMax              (最大)总氮
     * @apiParam   {Double}         nh3nMin            (最小)氨氮
     * @apiParam   {Double}         nh3nMax            (最大)氨氮
     * @apiParam   {List(Double)}   nh3List            (数组)非离子氨
     * @apiParam   {Double}         no2Min             (最小)亚硝酸盐氮
     * @apiParam   {Double}         no2Max             (最大)亚硝酸盐氮
     * @apiParam   {Double}         no3Min             (最小)硝酸盐氮
     * @apiParam   {Double}         no3Max             (最大)硝酸盐氮
     * @apiParam   {List(Double)}   knList             (数组)凯氏氮
     * @apiParam   {Double}         s2Min              (最小)硫化物
     * @apiParam   {Double}         s2Max              (最大)硫化物
     * @apiParam   {Double}         cnMin              (最小)氰化物
     * @apiParam   {Double}         cnMax              (最大)氰化物
     * @apiParam   {Double}         tcnMin             (最小)总氰化物
     * @apiParam   {Double}         tcnMax             (最大)总氰化物
     * @apiParam   {Double}         epMin              (最小)元素磷
     * @apiParam   {Double}         epMax              (最大)元素磷
     * @apiParam   {Double}         tpMin              (最小)总磷
     * @apiParam   {Double}         tpMax              (最大)总磷
     * @apiParam   {Double}         ypMin              (最小)黄磷
     * @apiParam   {Double}         ypMax              (最大)黄磷
     * @apiParam   {Double}         po4Min             (最小)溶解性磷酸盐
     * @apiParam   {Double}         po4Max             (最大)溶解性磷酸盐
     * @apiParam   {Double}         dtpMin             (最小)溶解性总磷
     * @apiParam   {Double}         dtpMax             (最大)溶解性总磷
     * @apiParam   {Double}         fMin               (最小)氟化物
     * @apiParam   {Double}         fMax               (最大)氟化物
     * @apiParam   {Double}         clMin              (最小)氯化物
     * @apiParam   {Double}         clMax              (最大)氯化物
     * @apiParam   {Double}         fchlMin            (最小)游离余氯
     * @apiParam   {Double}         fchlMax            (最大)游离余氯
     * @apiParam   {Double}         achlMin            (最小)活性氯
     * @apiParam   {Double}         achlMax            (最大)活性氯
     * @apiParam   {Double}         tchlMin            (最小)总氯
     * @apiParam   {Double}         tchlMax            (最大)总氯
     * @apiParam   {Double}         iMin               (最小)碘化物
     * @apiParam   {Double}         iMax               (最大)碘化物
     * @apiParam   {Double}         siMin              (最小)硅
     * @apiParam   {Double}         siMax              (最大)硅
     * @apiParam   {List(Double)}   bList              (数组)硼
     * @apiParam   {String}         nt                 备注
     * @apiParam   {List(String)}   speRegDataList     (数组)特殊区域
     * @apiParam   {Date}           tsBgTm             (开始时间)时间戳
     * @apiParam   {Date}           tsEdTm             (结束时间)时间戳
     * @apiParam   {Date}           testComTmBgTm      (开始时间)化验完成时间
     * @apiParam   {Date}           testComTmEdTm      (结束时间)化验完成时间
     * @apiSuccess {Integer}        status             通常1或者>1:删除成功;0:没有符合条件的数据.
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSuccessExample 删除成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 删除失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiUse exceptions
     */
    @DELETE
    @Path("by-filter")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response deleteByFilter(WqNmispDQo filter) {
        LOGGER.info("根据条件删除 测站非金属无机物项目数据表,参数 WqNmispDQo:{}", filter);
        Integer rows = wqNmispDService.deleteByFilter(filter);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.delete(rows))).build();
    }
}
